前言:先來談談線串列表示甚麼,線性串列就是一種a[0],a[1],a[2]…,a[n]所組成的有限序列,[ ]內的數字則代表元素的位置(可稱為下標),而線性串列就可以根據元素的位置進行新增、刪除、修改、查詢等動作。
線性串列在電腦中的應用有分為動態及靜態的資料結構,之後會再加以說明。
動態資料結構是一種將線性串列的資料使用不連續記憶空間來儲存。優點是資料的插入或刪除都相當方便,不需要移動大量資料。另外動態資料結構的記憶體配置是在執行時才發生,所以不需事先宣告,能夠充份節省記憶體。缺點就是設計資料結構時較為麻煩,另外在搜尋資料時,也無法像靜態資料一般可隨機讀取資料,必須循序找到該資料為止。
而最常見的線性串列有分為順序結構的陣列Array(靜態)和鏈結結構的鏈結串列Link List(動態)。
今天就先將重點擺在陣列Array吧!
陣列是甚麼,剛接觸資料結構的同學一開始都會有一點排斥(對!就是我…),
其實最常出現在我們生活中的「排隊」就有陣列的雛型喔!
陣列也能依照使用者給予的維度而有不一樣的樣貌。
一維陣列:平常排隊買東西就是一維陣列的最佳寫照,顧名思義就是一條線,不管長短、斜的、彎的都不會改變它是一條線的事實。
圖片來源:https://image.shutterstock.com/image-vector/illustration-stickman-kids-arms-standing-260nw-1050197495.jpg
舉例:實際宣告陣列的話可以用在紀錄一天吃甚麼?
二維陣列:二維就開始有了平面的概念,平常上課的座位表或是上課的課表就可以當成一種二維陣列喔!
實際宣告陣列的話可以用在紀錄一星期(多天數)吃甚麼
三維陣列;而三維就是大家熟知的立體,剛剛上面以旅館作為的例子就是三維的概念。
實際宣告陣列的話可以用在一家人(多個人)紀錄一星期吃甚麼
N維陣列:四維以上就可以稱作N維了,因為不是大家在生活中會碰到的,所以一定會相對陌生(小弟書讀得少,剛爬了一下維基,還是不太明白四維的概念ヾ( ̄□ ̄;)ノ)。
實際宣告陣列的話可以把三文陣列的應用再多疊加個月分甚至年分,就能達到多維陣列的效果喔!
小結:今天算是簡單介紹完甚麼是陣列跟衍生的類型,多維陣列比較複雜,再建立時一定要先想清楚!(我也常常弄錯就是了(iДi)),明天就來實際操作看看如何宣告陣列(ง •̀_•́)ง。